{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "5e2e3481-2624-4ac4-be8d-aa9e4de89bab",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          2\n",
      "x ↦ 2013⋅x \n"
     ]
    }
   ],
   "source": [
    "# https://zhuanlan.zhihu.com/p/400605984\n",
    "from sympy import *\n",
    "x = symbols('x')\n",
    "t = symbols('t')\n",
    "f = Lambda(x, 2013*x**2)\n",
    "pprint(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "3679354b-add1-43fb-823f-9eacb05b6d49",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x7f5570377430>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(f(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "f25c80ea-245f-4da9-8a90-122e3c74a3b0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 4026 x$"
      ],
      "text/plain": [
       "4026*x"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "limit((f(x+t)-f(x))/t, t, 0, '+')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "e68c6567-4f21-4e5c-bdb8-638e24f867f1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "⎧ 2               \n",
      "⎪x    1           \n",
      "⎪── + ─  for x ≤ 1\n",
      "⎪2    2           \n",
      "⎨                 \n",
      "⎪x   1            \n",
      "⎪─ + ─   otherwise\n",
      "⎪2   2            \n",
      "⎩                 \n"
     ]
    }
   ],
   "source": [
    "f = Piecewise((Rational(1/2)*(x**2+1),x<=1), (Rational(1/2)*(x+1), x>1))\n",
    "pprint(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "ed709c7f-77d2-445a-8bc0-2a742d897b59",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 1)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "limit((f.subs(x, 1+t)-f.subs(x, 1))/t, t, 0, '-'),limit((f.subs(x, 1+t)-f.subs(x, 1))/t, t, 0, '+')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "cda1db71-7cde-4175-9f0c-314ed52f054a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 2    ⎛1⎞\n",
      "x ⋅sin⎜─⎟\n",
      "      ⎝x⎠\n"
     ]
    }
   ],
   "source": [
    "f=Piecewise((x**2*sin(1/x), x!=0), (0,x==1))\n",
    "pprint(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "592ce41d-44a2-408b-97d5-452f2f520c6e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-cos(1) + 2*sin(1), -cos(1) + 2*sin(1))"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "limit((f.subs(x, 1+t)-f.subs(x, 1))/t, t, 0, '-'),limit((f.subs(x, 1+t)-f.subs(x, 1))/t, t, 0, '+')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "4b87a2e0-00b4-4c79-bf3d-957b81db0a61",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 2    ⎛1⎞\n",
      "x ⋅sin⎜─⎟\n",
      "      ⎝x⎠\n"
     ]
    }
   ],
   "source": [
    "f=Piecewise((x**2*sin(1/x), x!=0), (sin(x)-1,x==0))\n",
    "pprint(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "71617a7a-6074-43ca-b9c3-9b3479fef459",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 x \\sin{\\left(\\frac{1}{x} \\right)} - \\cos{\\left(\\frac{1}{x} \\right)}$"
      ],
      "text/plain": [
       "2*x*sin(1/x) - cos(1/x)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "diff(f, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "c0231362-fd35-4c38-90bc-38989c233eb1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x ↦ log(x + 1)\n"
     ]
    }
   ],
   "source": [
    "# 高阶导数\n",
    "\n",
    "f=Lambda(x, log(1+x))\n",
    "pprint(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "4b94be2d-9f8a-4588-b085-6a30dc783014",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAasAAAEgCAYAAAAKZlx2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAkaElEQVR4nO3deXxU9b038M9JJpNkJpns+8omCVlYMjHWBS/7IkVZbgtCUcFSffSpda2trS9tRS1Prdraq5369FalV+51jRcqooAKSoBIWCICgSSQPTPZZyYzk5k5948JAS6QjZlzziSf9+s1r0xyZs75Mko+/H7ne35HEEURREREShYgdwFEREQDYVgREZHiMayIiEjxGFZERKR4DCsiIlI8hhURESkew4qIiBSPYUVERIqnkupAgiDEA7gBQDKAbgDlAEpFUXRLVQMREfknwdcrWAiCMAPA4wCiAZQBaAYQAuAaAOMAvAvgBVEUO31aCBER+S0pwur/AfiTKIpnL7NNBWARgEBRFN/zaSFEROS3fB5WREREV0uyBgtBEN4SBCHigu8zBUHYIdXxiYjIf0nZDbgHwD5BEBYKgvBjANsBvCTh8YmIyE9JOg0oCMKNAHYBMAGYKopio2QHJyIivzVQ67rXkuytt97ChAkT8PTTT+PIkSOJn3zyScPhw4cxefJkbx1iUObPn49t27ZJekwiIroiYTAvkuw6q/feew979uxBfHw8Vq5ciSVLluDOO+9EWVmZVCUAAEwmk6THIyKiqzfQNKBP5wgdDgfUarUvD3EJvV6P0tJSSY9JRERXNKiRlc8bLJ555hm0trZedptarcbOnTuxZcsWX5dBRER+zOfTgHl5efj+97+PkJAQTJs2DXFxcbDZbKioqMChQ4cwe/Zs/PKXv/R1GURE5Md8HlbvvvsuvvrqK2zcuBHx8fFoaGiATqfD6tWrYTAYEBoa6usSiIjIz/k8rL755hvU19fjH//4B3bt2nXRtu7uboYVERENyOdhdc8992DWrFmorKyEXq/v+7koihAEAZWVlb4ugYiI/Jxk3YD33nsvXn31VW/tbtjYDUhEpCjK6AY8RwlBRURE/ol3CiYioiFxuUW43dLesUOyFSyIiEiZrA4nWi0OtFocaLE40Nb7/JKH1fO1o7sHH913I/JSIwbeuZcwrIiIRhBRFGF1uNBidqDFYvcEkNkTQq0WO1p6vz8fTnbYetyX3ZcqQECUVo0YrRpRGjWyk3R9z6PDpF19iGFFRKRwDqcbrRYHTOZzYWNHi9kBk8XztcVs793ef/iEBAUgRhuMaK0aMWFqTEgIQ4xWjWhtsCeEtGpEX/DQhaggCIPqf/A5hhURkQy6HS6YzHY0d9nRYrbDZO4No97nxgued3T3XHYf6sAAxIR5gidGG4xx8efDJ7b35+eCKCZMDY3af3/l+2/lREQKY+txwdhlh9Fsh6nvqyeEjF12mMz2vucWh+uy+9CFqBAbHoxYbTAmJobjhrBgxGiDEROmRmzYuRDyfB8erJyRj68xrIiI+uF2i2i1Ojwh1PtoPvfcbIexy9b3fZfNedl9RGqCEBsWjLiwYOSlRiIuLBix4eq+n8WFB/eNjtQqNmlfDsOKiEYlp8uNFosDTZ02NHd6Aqi5N3iaOy8OIedl2rRDgwIRrwtGfHgwshLDcdP4WMSFB59/hIUgNpwB5C0MKyIaUdxuEW1WB5o67WjqsqG504bGjvPPmzrtaOq0wWS243KXCkVr1YjvDZzx8eF9gRQXHoz48JC+59pg/vqUEj9tIvIbth4XmjptaOywobHThqZOGxo6bH0/a+r0jI56XJemUIxWjXhdCBJ0wZiUpEOCLhhxuhAkhAcjXucJodgwjoKUyq/DqqamBmvWrEFTUxMEQcD69evxwAMPyF0WEQ2D1eFEfbsndOo7utHYYUNDRzcaOs4FkQ1t1ku74rTqQCREhCBRF4KiMdFIiPAEUIIupC+c4sKDEawKlOFPRd7i12GlUqnwwgsvYNq0aejq6kJBQQHmzJmDSZMmyV0aEV2gvyBqaPc877xMc0JsWDASI4KRGqWBPjMKiboQJOhCkBgRgqQIz/PwkCAZ/kQkNb8Oq6SkJCQlJQEAwsPDkZ2djbq6OoYVkYTcbhFGsx117d2o73vYLvr+ciOi2LBgJEWEID1Gg+vGRiMxIhTJkZ4RUnJkKOJ1HA3ReX4dVheqrq5GWVkZioqKLtlmMBhgMBgAAEajUerSiPya3elCQ2/41LZZUdvWjbq2bk8Y9Y6S/vc5ovAQFVIiQ5EcGYqp6ZFIjgxFckQokiIYRDQ8kt3PypfMZjNuvvlmPPHEE1i6dGm/r+X9rIguZutx9QaRJ4Rq26x939e2WdHcZceFvyYCBCBRF4KUKE8YnQulc1+TIkOg49QcDd6grmr2+5FVT08Pli1bhlWrVg0YVESjkcstorHThppWK862WlHb+7WmrRtnW60wdtkver0qQEBSZAhSIzW4aUIcUqNCkRqlQUpkKFKjQpEYEYKgQHbMkbT8OqxEUcS6deuQnZ2Nhx56SO5yiGTTaevB2RYrzrRYUdPWG0a9j7r27oum6QIEICkiFGnRoZgxMQ6pURqkRYciJVKD1KhQJOhCEBgwOpbwIf/h19OAe/bswU033YS8vDwEBHj+pffss89i4cKFV3wPpwHJH4miiDZrD6pbLDjTYkG1yRNInu+taLU4Lnp9lCYIadEazyNKg/RoTyClR2uQFBHKa4lISUb+NOCNN96IAcKWyG+IoqerrspowZlWqyeUWjxfz5is6LKfb+0WBCA5IhQZMRrMy0lARowWmTGecEqP1rCdm0Ycvw4rIn/UaetBldGCKpMFlSbP1+rer+YLAikwQEBaVCgyYrSYlh7VF0gZMVqkRoUiJIjddDR6MKyIfMDlFlHTasVpo9nzaLag0mRGlckCk/n8lJ0gAKlRoRgTG4aCjCiMidUiM9YTSsmRoWxkIOrFsCK6ClaHE5VGC04bzTjVfD6YqkwWOFzn79Yao1VjXFwYZmUlYEycFmNitRgbq0VatIYjJKJBYFgRDUKXrQcnm8yoaOryfG3uQqXRgrr27r7XBAhARowW4+K0+JeJcRgXF4Zx8WEYF6dFpEYtY/VE/o9hRXQBi92JimYzTjZ1nQ+mpi7Ud9j6XhMSFIDx8WEozIzCyvi0vlDKiNFwVQYiH2FY0ajkdLlR3WLBdw1dON7YieMNXTjR1IXatvMjJbUqAOPjwnDtmGhMSAjHxIRwXJMQjtSoUATwOiQiSTGsaMRrszjwXW8gfdfQieONXTjZ1AW703NOSRUgYFxcGKamR2FFYRom9IZSerSGF8cSKQTDikYMt1tEVYsF39Z34lh9Z9+IqbHz/BRebJga2Uk6rPleBrISdchO0mFcvJbTd0QKx7Aiv+R0uXHKaEZ5XSfK6zrwbX0HjtV3wuJwAQCCAgWMjw/H9eNikJUUjuwkHbISdYgLD5a5ciIaDoYVKV6Py40TjV04WteB8roOlNd34nhDZ980XmhQICYl67C8IBU5KRHISdZhQnw4lxQiGkEYVqQobreI6hYLjtR24FBNOw7XtuNY/flgCg9WISdFhx9dl4HclAjkpugwJjaM55aIRjiGFcnK2GVH2dk2HK5tx+GaDhypbe+7vXloUCBye4MpPy0S+SkRSI/WsBOPaBRiWJFkXG4Rxxs7cfBsOw6eacPBs20402IF4FkHLysxHLfkJ2NKWgTyUyMxIT4MKi43RERgWJEPdVh7cLCmrS+YDp1t72uAiA0Lhj4jCquK0jEtPQq5KRFcdoiIrohhRV5jMtuxr7IV+6pasK+yFSeaugCcHzUtK0hFQUYUpqVHITUqFILA6TwiGhyGFQ1bc6cNJVWt2FfZgpLKFpw2WgB4zjXpM6OwKD8JBZlRmJwaCW0w/1cjouHjbxAatPr27r5R076qVlSZPOEUFqyCPjMKywvSUDQ2GnkpEby1BRF5FcOKrqjT1oO9p1uwp8KEPadMfeGkC1Hh2jHRuP3adBSNjcakJB0bIYjIpxhW1KfH5cahmnbsrjBhT4URh2s74HKL0KgDUTQmGquK0nHd2BhkJ+l4XRMRSYphNcrVt3dj5/FmfH6iGSWVrTDbnQgQgLzUSNx78zjcOCEW09KjuBoEEcnKr8Nq7dq12LJlC+Lj41FeXi53OX7B5RZxqKYdO483YedxI75r6ATgubX64inJuGl8LK4fF4sITZDMlRIRnSeIotjf9n43yu3LL79EWFgY1qxZM+iw0uv1KC0t9XFlytLR3YPdFUbs/K4Zn580otXiQGCAgIKMKMzKises7HiMiwtjKzkRyWFQv3j8emQ1ffp0VFdXy12GItW3d2NbeSO2H2tEaXUbnG4RkZog/Ms1cZiZnYCbJ8Rx9EREfsOvw4ouVttmxbbyRmw92oCys+0AgIkJ4fjx9LGYlRWPqelRbIwgIr80KsLKYDDAYDAAAIxGo8zVeFdNqxUflzdg69FGHK5pBwBMStLh0XkTsSA3EWPjwuQtkIjIC/z6nBUAVFdXY9GiRaPqnNXZFiu2Hm3Ax+UNOFLbAQDIS4nAgrxELMxNQmasVuYKiYgGbeSfsxpNLHYnth5twLultdhf3QoAmJwagV8syMKC3CSkx2hkrpCIyHf8OqxWrlyJzz//HCaTCampqXj66aexbt06ucvyGlEUcaC6De+U1mDr0QZYHS6MidXi0XkTsXhyMtKiGVBENDr4dVi9/fbbcpfgEw0d3Xj/YB3e/aYWVSYLtOpAfD8/Gf+q96xazhZzIhpt/DqsRhK704VPjzXhndJa7K4wwi0CRWOicd+M8ViYlwiNmv+piGj04m9AmR2r78R/HjiLDw/Vo6O7B8kRIbhvxngsL0hFRgwbJYiIAIaVLNxuEV+cNOKvuyvx9ekWqFUBmJeTiB/oU3H9uFheC0VE9L8wrCRk63Hhw7I6vL6nCqeazUjUheDxBVlYUZiGSI1a7vKIiBSLYSWBFrMdm0rO4q2SapjMDkxK0uHFH07GLXnJXM2ciGgQGFY+dNpoxuu7q/D+wVrYnW7MmBiHH980Ft8bF8OOPiKiIWBY+cD+qlb85YvT2HG8GWpVAJZOTcG6G8dgQkK43KUREfklhpUXHTzbhj9sP4k9p0yI1qrx01kT8KPrMhAXHix3aUREfo1h5QXldR34w6cnsfN4M6K1ajyxMBurr8tAqDpQ7tKIiEYEhtVVONVsxu8/OYFt3zYiIjQIj86biDuvz4Q2mB8rEZE38bfqMHRYe/DSjpN4a+8ZhAQF4oFZE7DupjHQhfBmhkREvsCwGgKny423D9TgD9tPoKO7ByuuTcfDc65BTBjPSRER+RLDapC+OmXCb/77GE40deG6sdF4clEOJiXr5C6LiGhUYFgNoKGjG0999C0++bYJadGheG31NMzLSeR1UkREEmJYXYEoith8oAbPbv0OTreIR+dNxLobxyAkiB1+RERSY1hdRk2rFY+/fwRfnWrB98bG4HfL8nknXiIiGTGsLuB2i9i07wye//g4BADP3JaL269NRwBXQScikhXDqldNqxUPv3MY+6tacdOEWDy/LB8pkaFyl0VERGBYAQA+O9aEh/7rEEQR2Lg8H/9akMoGCiIiBRnVYeV0ufH77Sfx2henkZOsw6urCnhuiohIgfz+Zkrbtm3DxIkTMX78eDz//PODfl9zpw23v74Pr31xGrcXpeO9e69nUBERKZRfj6xcLhfuu+8+fPrpp0hNTUVhYSEWL16MSZMm9fu+r0+b8NO3D8Fid+LFH07GkqmpElVMRETD4dcjq/3792P8+PEYO3Ys1Go1VqxYgeLi4iu+XhRFmMx2rH59HyI1Qfjo/hsYVEREfsCvw6qurg5paWl936empqKuru6yr3W63Hiy+Fs0dNgwd1Iiiu+7gTdDJCLyE4IoilfcOH/+fNFkMklYztC0tbWhs7MTGRkZAICWlhZYLBakp6df9LpmownNVhdEVQicpjOYOjlfjnIVx2g0Ii4uTu4yFIOfx8X4eVyMn8d53vwsvvnmm09EUZw/0Ov6DSsA/W6U2969e/HUU0/hk08+AQA899xzAIBf/OIXfa/p6O7B2r8fQNnZNjxzWx5+PDMbFotFlnqVRq/Xo7S0VO4yFIOfx8X4eVyMn8d5Xv4sBnWdkF9PAxYWFqKiogJVVVVwOBzYvHkzFi9e3LfdZLZjhaEER2rb8W+rpuH2ovR+9kZERErl192AKpUKr7zyCubNmweXy4W1a9ciJycHgGe19FV/3Yf6jm78/zsKMf0aDt+JiPyVX4cVACxcuBALFy686GfGLjtW/XUfmrvs2LSuCPrM6L5tsbGxUpeoWOvXr5e7BEXh53Exfh4X4+dxnhyfhV+fs7qcNosDK/9agjMtVry57loUXhBUAOediYgUZlDnrPx+ZHUhs92JNX/bj0qTBf9+Z+ElQUVERP7JrxssLtTjcuP//OMgvmvoxGurp+GG8RdP951blqm8vHxIyzKNRDU1NZgxYwYmTZqEnJwcvPzyy3KXJDuXy4WpU6di0aJFcpciu/b2dixfvhxZWVnIzs7G3r175S5JVi+++CJycnKQm5uLlStXwmazyV2SpNauXYv4+Hjk5ub2/ay1tRVz5szBhAkTMGfOHLS1tfm8jhERVqIo4snicnx50ogNS3IxMyvhou3nlmX6+OOPkZOTg7fffhvHjh2TqVr5qVQqvPDCCzh27BhKSkrw5z//eVR/HgDw8ssvIzs7W+4yFOGBBx7A/Pnzcfz4cRw+fHhUfy51dXX44x//iNLSUpSXl8PlcmHz5s1ylyWpO++8E9u2bbvoZ88//zxmzZqFiooKzJo1S5IBwIgIq798WYm399fgvhnj8MPCS9vTL1yWSRCEAZdlGumSkpIwbdo0AEB4eDiys7OvuPLHaFBbW4utW7fi7rvvlrsU2XV0dODLL7/EunXrAABqtRqRkZHyFiUzp9OJ7u5uOJ1OWK1WJCcny12SpKZPn47o6ItPqRQXF+OOO+4AANxxxx348MMPfV6H34fVV6dM+N2241iUn4SH50y87GuGsizTaFNdXY2ysjIUFRXJXYpsfvazn2Hjxo0ICPD7vw5XraqqCnFxcbjrrrswdepU3H333aP6IvqUlBQ88sgjSE9PR1JSEiIiIjB37ly5y5JdU1MTkpKSAACJiYloamry+TH9+m9nc6cND2wuw/i4MGxcns/bzw+R2WzGsmXL8NJLL0Gn08ldjiy2bNmC+Ph4FBQUyF2KIjidThw8eBD33nsvysrKoNVqR/U53ra2NhQXF6Oqqgr19fWwWCzYtGmT3GUpiiAIktys1m/Dyuly4/++XQaL3YV/WzUNGvWVGxtTUlJQU1PT931tbS1SUlKkKFOxenp6sGzZMqxatQpLly6VuxzZfPXVV/joo4+QmZmJFStWYOfOnVi9erXcZckmNTUVqampfSPt5cuX4+DBgzJXJZ/PPvsMY8aMQVxcHIKCgrB06VJ8/fXXcpclu4SEBDQ0NAAAGhoaEB8f7/Nj+m1YvfRZBfZVteKZ23IHXD39wmWZRFG8ZFmm0UYURaxbtw7Z2dl46KGH5C5HVs899xxqa2tRXV2NzZs3Y+bMmaP6X86JiYlIS0vDiRMnAAA7duwY8P5wI1l6ejpKSkpgtVohiiJ27NgxqhtOzlm8eDHeeOMNAMAbb7yBW2+91fcHFUWxv4cifX6iWcz4+RbxsXcOD/o9W7duFSdMmCCq1WrxmWee8WF1yrd7924RgJiXlydOnjxZnDx5srh161a5y5Ldrl27xFtuuUXuMmRXVlYmFhQUiHl5eeKtt94qtra2yl2SrJ588klx4sSJYk5Ojrh69WrRZrPJXZKkVqxYISYmJooqlUpMSUkRX3/9ddFkMokzZ84Ux48fL86aNUtsaWm5mkMMlEMQRdH/VrDosvVgzh++hC5UhY/uvxEhQYFDej9XsCAiUpSRuer6xm0n0NRlw8blk4ccVERE5J/8KqxKq1vxVskZ3HX9GExJi5S7HCIikojfhJXd6cLj7x9FSmQoHp57jdzlEBGRhPxmIdtXPz+NU81m/PtdhdAG+03ZRETkBX4xsmrqtOHVz09jUX4SZkz0fT8/EREpi1+E1R93VMDlFvHYvCy5SyEiIhkoPqyqTRb854Ea3F6UjvQYjdzlEBGRDBQfVn/49CSCAgNw/8zxcpdCRERecODAAeTn58Nms0EQBK0gCN8KgpDb33sUHVbH6jvx0eF63HVDJuLDQ+Quh4iIvKCwsBCLFy/Gr371KwDYCGCTKIrl/b1H0W11v99+AroQFX4yfZzcpRARkRc9+eSTKCwsBAA9gJ8O9HrFjqyO1Xdi5/Fm/OTmcYjQBF2y/Z133kFOTg4CAgK4fBIRkZ9paWmB2WwGgHAAA06dKTas3vi6GiFBAVhVdOmdfwEgNzcX77//PqZPny5xZUREdLV+8pOf4Le//S0A/APA7wZ6vSLDqs3iwIeH6rBkaioiNerLviY7OxsTJ17+zsBERKRcb775JoKCgnD77bcDwPMACgVBmNnfexR5zmrzgRrYnW7ccX2G3KUQEZGXrVmzBmvWrAEAiKLoAlA00HsUF1ZOlxubSs7ge2NjcP/qpWhsbLzkNRs2bBjSzb4MBgMMBgMAwGg0eq1WIiKShuLC6rPvmlHX3o1fL5qE+es/88o+169fj/Xr1wPw3M+KiIj8i+LOWW0qOYOUyFDMzuYagERE5KGosGox2/H1aROWTkuBKrD/0j744AOkpqZi7969uOWWWzBv3jyJqiQiIqkpahpw+7EmuEVgQW7SgK9dsmQJlixZIkFVREQkN0WNrP55tAEZMRpkJ4XLXQoRESmIYsKq3erA3tMtWJCbBEEQ5C6HiIgURDFh9emxJjjdIhbmJcpdChERKYxiwurj8kakRIYiLyVC7lKIiEhhFBFWnbYe7KkwYUFuIqcAiYjoEooIq53fNcPhcmMBpwCJiOgyFBFW/zzagARdMKamRcldChERKZDsYeV0ubHnlAlzJiUgIIBTgEREdCnZw+p4YxesDheuHRMjdylERKRQsofVN2faAAAFGZwCJCKiy5M9rErPtCEpIgQpkaFyl0JERAole1h9U93KURUREfVL1rCqb+9GfYeNYUVERP2SNazOna/SZ0TLWQYRESmc7GEVGhSILK6yTkRE/ZA9rKakRSJogBstEhHR6CZbSljsThxr6IQ+k+eriIiof7KF1eHadrjcIqaxuYKIiAYgW1iVnW0HAExLZ1gREVH/ZAurU81mpESGIiI0SK4SiIjIT8gWVlUmCzJjNcN+/6OPPoqsrCzk5+djyZIlaG9v915xRESkKPKGVYx22O+fM2cOysvLceTIEVxzzTV47rnnvFgdEREpiSxh1WZxoKO7B2Nihx9Wc+fOhUqlAgBcd911qK2t9VZ5RESkMLKEVVWLBQCuKqwu9Le//Q0LFizwyr6IiEh5VHIctNrkCavMAcJq9uzZaGxsvOTnGzZswK233tr3XKVSYdWqVVfcj8FggMFgAAAYjcbhlk1ERDKRLawCBCAtqv8Gi88++6zf7X//+9+xZcsW7NixA4Jw5bsMr1+/HuvXrwcA6PX6oRdMRESykiWsqlqsSI3SQK0a/izktm3bsHHjRnzxxRfQaIbfVUhERMonzzkrk3nAKcCB3H///ejq6sKcOXMwZcoU3HPPPV6qjoiIlEbykZUoiqg2WVFwlStXnDp1yksVERGR0kk+sjKZHTDbnV7rBCQiopFP8rCqbhlcJyAREdE5kodVlcm711gREdHIJ/3IymSBKkBASmSo1IcmIiI/JcvIKj1aAxXvDkxERIMkeWLUtnUjLZrXRRER0eBJHlZmuxM63sOKiIiGQPKwstid0KoDpT4sERH5MXnCKliWVZ6IiMhPSRpWbrcIa4+LIysiIhoSScOqu8cFUQRHVkRENCSShpXF4QQAaBhWREQ0BNKGld0FAAgL5jQgERENnsRh1TuyUnNkRUREgydLWIVxGpCIiIZA0rCyOjzTgBp2AxIR0RBIGlZmjqyIiGgYJB5ZsRuQiIiGTuKRVW83IBssiIhoCKQdWZ3rBmTrOhERDYG0IyuHE2pVAIJ4LysiIhoCiUdW3lsX8Ne//jXy8/MxZcoUzJ07F/X19V7ZLxERKY/k11l5a13ARx99FEeOHMGhQ4ewaNEi/OY3v/HKfomISHkkXxtQ66XmCp1Od36/FgsEQfDKfomISHkkbcuz2F3QerG54oknnsCbb76JiIgI7Nq1y2v7JSIiZZF+ZDWEacDZs2cjNzf3kkdxcTEAYMOGDaipqcGqVavwyiuvXHE/BoMBer0eer0eRqPxqv8cREQkLUEUxf6297txqOa++AXGxobhtR8VeHO3OHv2LBYuXIjy8vIBX6vX61FaWurV4xMR0bAN6hyO5LcI8dY1VhUVFX3Pi4uLkZWV5ZX9EhGR8kh7zsrh9Nq6gI8//jhOnDiBgIAAZGRk4LXXXvPKfomISHkkDSur3eW1e1m99957XtkPEREpn2TTgA6nGw6Xm3cJJiKiIZMsrPpWXOcitkRENESShRXvZUVERMMl4ciq9y7BnAYkIqIhknxk5a21AYmIaPSQbmTVe+NFb60NSEREo4cMIytOAxIR0dBI3g3IkRUREQ2VZGFl4TkrIiIaJunCqrcbkNOAREQ0VJKOrAQBCA1iWBER0dBIGFYuaNUq3tGXiIiGTNKRFacAiYhoOCQ8ZzW0uwQTERGdI+3Iim3rREQ0DNKes+I0IBERDYO004AcWRER0TBI3GDBsCIioqGT9KJgTgMSEdFwsMGCiIgUT5KwcrtFWB0uaHwwDfjCCy9AEASYTCav75uIiJRBkrCy9njWBQzz8jRgTU0Ntm/fjvT0dK/ul4iIlEWasOpdcV3j5WnABx98EBs3buQSTkREI5wkYXXuxothXpwGLC4uRkpKCiZPnuy1fRIRkTJJ0vFg7b09iEY9tGnA2bNno7Gx8ZKfb9iwAc8++yy2b98+qP0YDAYYDAYAgNFoHFINREQkP0EUxf6297txsEoqW7DCUIL/uLsI14+Pver9HT16FLNmzYJGowEA1NbWIjk5Gfv370diYmK/79Xr9SgtLb3qGoiIyCsGdR5HopFV7zkrL00D5uXlobm5ue/7zMxMlJaWIjb26oOQiIiUR6JzVr7pBiQiotFBmpGVj7oBz6murvbJfomISBkk7Qbk2oBERDQc0lxn1dsNqB1iNyAREREgUVhZHE6oVQFQBUq2FCEREY0gkqRHj1NEMIOKiIiGSZqFbEURXBGJiIiGS5KwEkURAQFMKyIiGh6JRlZAAIdWREQ0TJKElUsUwYEVERENl3TTgBxZERHRMEl0p2BOAxIR0fBJ1g3IaUAiIhouyRoseDdfIiIaLglb16U4EhERjUQSdgNyZEVERMPD66yIiEjx2GBBRESKx+usiIhI8XidFRERKR5XXSciIsVjgwURESmedA0WXj7SU089hZSUFEyZMgVTpkzBP//5T+8egIiIFEMlxUHcoohAH4ysHnzwQTzyyCNe3y8RESkLl1siIiLFk7B13fv7feWVV5Cfn4+1a9eira3N+wcgIiJFkPCi4KGn1ezZs5Gbm3vJo7i4GPfeey9Onz6NQ4cOISkpCQ8//PAV92MwGKDX66HX62E0Gq/mj0JERDIQRFHsb3u/GwdrpaEELreI/7rne97Y3SWqq6uxaNEilJeXD/havV6P0tJSn9RBRERDNqiRjGQL2Xr7lFVDQ0Pf8w8++AC5ubnePQARESmGJN2Aoigi0Mu964899hgOHToEQRCQmZmJv/zlL17dPxERKYdEretAoJc7LN566y2v7o+IiJSLyy0REZHicbklIiJSPL++zoqIiEYHRV9nRUREBEjVuu7mcktERDR8kk0DBkpyJCIiGok4DUhERIrHbkAiIlI8XmdFRESKJ9E5K46siIho+CTqBuR1VkRENHzSNVgwrYiIaJg4DUhERIonYeu6FEciIqKRiNdZERGR4kl2nRWXWyIiouHiqutERKR4ErauM62IiGh4JLmt/S8WZCMjRiPFoYiIaASSJKx+UJgmxWGIiGiE4o07iIhI8fw6rP70pz8hKysLOTk5eOyxx+Quh4iIfESSaUBf2LVrF4qLi3H48GEEBwejublZ7pKIiMhH/HZk9eqrr+Lxxx9HcHAwACA+Pl7mioiIyFf8NqxOnjyJ3bt3o6ioCDfffDMOHDggd0lEROQjip4GnD17NhobGy/5+YYNG+B0OtHa2oqSkhIcOHAAP/jBD1BZWXnZlTIMBgMMBgMAwGg0+rxuIiLyLkEUxf6297tRTvPnz8fPf/5zzJgxAwAwbtw4lJSUIC4urt/36fV6lJaWSlEiERENbFArRvjtNOBtt92GXbt2AfBMCTocDsTGxspcFRER+YKipwH7s3btWqxduxa5ublQq9V44403uFguEdEI5bdhpVarsWnTJrnLICIiCQx0zmrEEQRhmyiK8+Wug4iIBm/UhRUREfkfv22wICKi0YNhRUREisewIiIixWNYERGR4jGsiIhI8RhWRESkeP8DWqCraCmV0vYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x7f556e0d1b50>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(f(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "07d02210-9b24-4a17-a4fd-8d0517c300ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{24}{\\left(x + 1\\right)^{5}}$"
      ],
      "text/plain": [
       "24/(x + 1)**5"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "diff(f(x), (x, 5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "507135c4-925c-4836-8df7-649e099ce1bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(EmptySet, EmptySet)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y=Function('y')\n",
    "f(x).subs(x, 0).subs(y(0), 0)\n",
    "f_dy=Lambda(x, diff(f(x), y(x)))\n",
    "f_dy(x).subs(x, 0).subs(y(0), 0)\n",
    "r1=solveset(Eq(diff(f(x), (x, 1)),0), diff(y(x), (x, 1)))\n",
    "r2=solveset(Eq(diff(f(x), (x, 2)),0), diff(y(x), (x, 2)))\n",
    "r1.subs(y(x), 0).subs(x, 0),r2.subs(diff(y(x), x),-1).subs(y(x), 0).subs(x, 0)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "e9d9c465-d556-4af2-abc9-636a794ce71c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle - \\frac{1}{\\left(\\sin{\\left(x \\right)} + 1\\right)^{2}}$"
      ],
      "text/plain": [
       "-1/(sin(x) + 1)**2"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f=Lambda(x, sin(x))\n",
    "g=Lambda(x, x-cos(x))\n",
    "(((f(x).diff(x)/g(x).diff(x)).diff(x))/g(x).diff(x)).simplify()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "a3c10f34-799c-4855-b150-60cc858882fa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([1, 2], [3/2])"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f=Lambda(x, 2*x**3-9*x**2+12*x-3)\n",
    "f1=Lambda(x, diff(f(x), x))\n",
    "f2=Lambda(x, diff(f(x), x,x))\n",
    "r1=list(solveset(Eq(diff(f(x), (x, 1)),0), x))\n",
    "r2=list(solveset(Eq(diff(f(x), (x, 2)),0), x))\n",
    "r1,r2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "2a8db4b2-f5fb-4ed7-8448-f508438b83dc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x7f556e00a190>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(f(x),(x, -5, 5), ylim=(-100, 100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "18b63fb8-888f-4de1-90f3-9d6c30842da1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
